我们df 的时候会看到一行
1 2 3 4 5
| [root@localhost ~] Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 18102140 1429428 15753160 9% / tmpfs 146844 0 146844 0% /dev/shm /dev/sda1 495844 31636 438608 7% /boot
|
它的大小为 146844,这个数值其实正好是内存大小的一半:
1 2 3 4 5
| [root@localhost ~] total used free shared buffers cached Mem: 293692 203528 90164 0 15880 125184 -/+ buffers/cache: 62464 231228 Swap: 2064376 0 2064376
|
这个tmpfs到底是什么呢? 其实它是一个临时文件系统,驻留于内存中,使用它可以提高文件访问速度,并能保证重启时会自动清除这些文件。只不过驻留在这里的文件是容易丢失的,因为内存数据是不会像硬盘中的数据那样可以永久存在。知道了tmpfs的这个特性后,我们就可以把一些对读写性能要求较高,但是数据又可以丢失的这样的数据就可以保存在/dev/shm中,你也可以认为这里就是内存。既然/dev/shm是内存,那么想当然,我们不能把全部内存都挂载到这个目录下,系统默认只分一半是有道理的。那么我们能不能更改这个tmpfs的大小? 当然可以!
1 2 3 4 5 6
| [root@localhost ~] [root@localhost ~] Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 18G 1.4G 16G 9% / tmpfs 180M 0 180M 0% /dev/shm /dev/sda1 485M 31M 429M 7% /boot
|
所以说,这个tmpfs是可以更改的,但这种办法知识临时的,重启后还会恢复内存大小的一半。那如何让他永久生效?、
1 2
| [root@localhost ~] tmpfs /dev/shm tmpfs defaults,size=180M 0 0
|
这样就可以啦。